<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组的解构赋值</title>
</head>
<body>






<script>
    //test1
    let arr =[1,2,3,4];
    let [x,y,m,n] = [1,2,3,4,5]; //如果这里后面比前面多，那么就忽略多的元素，如果比前面少，用undefined 补充位置


    //test2
    let [x1,x2=function () {
        console.log('输出执行默认值操作')();
        return 10;
    }] = [1,2]

    console.log(x1, x2);

    //todo 设置默认值，只有后面的解构是用undefined的情况才会走默认值的赋值操作
    let [x3,x4=function () {
        console.log('输出执行默认值操作')();
        return 10;
    }] = [1]

    console.log(x3, x4);

    //test3 省略赋值
    [,,m3] = [1,2,3];
    console.log('m3',m3);

    //test4 不定参赋值
    [y1,y2,...y3] = [1,2,3,4,5];//后面的全部甩给解构的那个参数
    console.log('y3',y3);

</script>
</body>
</html>